|
creator |
Bischof, Marc
| date |
2008-04-24
| | | description |
14 pages
| |
Die SSA Form dient als kompakte Alternative zur Darstellung von
Def-Use-Informationen. Diese werden besonders als Basis vieler
Analyse- und Optimierungstechniken in optimierenden Compilern, sowie
zur Programm-Verifikation und Fehlererkennung verwendet. Da die
klassische SSA Form lediglich auf einer einfachen While-Sprache
beruht, können Analysen die Vorteile dieser kompakten Darstellung
bisher nur für ihre intraprozeduralen Phasen nutzen.
Dieser Artikel behandelt daher die interprozedurale Erweiterung der
klassischen SSA Form, damit darauf aufbauende Analysen diese auch in
ihren interprozeduralen Phasen nutzen können. Hierbei muss der
klassische Ansatz von Cytron um interprozedurale Bestandteile
erweitert und geklärt werden wie man mit den dadurch entstehenden
Problemen umgeht. Da in der Literatur nicht klar ist, was man
eigentlich unter ISSA Form zu verstehen hat, entstehen oft
Insellösungen, die notwendige Bestandteile auslassen. Das Ziel
dieser Arbeit ist es also zu klären, was eine interprozedurale SSA
Form beinhalten kann und wie die Bestandteile umgesetzt werden.
Dazu wird insbesondere auf den Umgang mit Zeigern und Prozeduren
sowie deren Behandlung in verschiedenen Kontexten eingegangen. Es
werden außerdem Möglichkeiten zur Modellierung des Heaps und
Mehrfachzeigern erläutert. Anhand von Beispielen werden zwei
Repräsentationen zur Modellierung der interprozeduralen SSA Form
erläutert und anschließend verglichen.
| format |
application/pdf
| | 456234 Bytes | |